In a microcomputer, a CPU (Central Processing Unit) executes programs embedded in a built-in ROM (Read-only Memory) and realizes desired functional capabilities. In addition to the ROM in which the programs are embedded, the microcomputer includes CPUs, RAMs (Random Access Memory), and input-output units (I/O) and further includes several hardware modules.
Various functions or functional capabilities (hereinafter merely referred to as “functional capability”) are provided in the microcomputer, whereby the user of the microcomputer realizes the desired processing with use of these functional capabilities. For example, the application program developed by the user calls and executes a variables-involved function or subroutine (hereinafter merely referred to as “function”) which realizes the desired functional capabilities, thereby utilizing the desired functional capabilities.
On the other hand, under the development environment of the microcomputer, the application program that is developed by the user, along with OS (Operating System) and middleware that are supplied by a vendor of the microcomputer, is written into a memory in evaluation microcomputer chips, thereby allowing the microcomputer to execute the application program under development.
Under the development environment, the vendor often limits the functional capabilities of the microcomputer in such a manner that part of the functional capabilities of the microcomputer are unable to be utilized and supplies library including the aforementioned functions and the evaluation microcomputer chip to the user. For example, the vendor limits the functional capabilities in such a manner that the functions in part of the library are unable to be utilized. Then, under the evaluation environment in which the functional capabilities are limited, the user executes the application under development and evaluates the microcomputer and the library. Thereafter, when the user concludes licensing agreements with the vendor, the vendor releases the limitation on the functional capabilities to allow the user to utilize all the functional capabilities.
The encrypted programs in LSI (Large Scale Integration) are disclosed by Patent Document 1 (Japanese Unexamined Patent Application Publication No. 2004-164491).
However, when the vendor supplies the library, in which the functional capabilities are limited, to the user, and supplies another library, in which the functional capabilities are not limited, to the user after the conclusion of licensing agreements, the vendor are demanded to provide two types of library for the user, which causes an increase in types of library. Also, it is demanded that the user replaces the library, in which the functional capabilities are limited, with the library, in which the functional capabilities are not limited.